Automated identification and tracking of objects has many applications, for example, in products using optical symbols. Optical symbols are patterns of elements with different light reflectance or emission, assembled in accordance with some predefined rules. A known optical code is the linear barcode used in different consumer products. A linear barcode includes bars or spaces in a linear fashion. A barcode can be, for example, a rectangular identifying symbol that includes one or more spatially contiguous sequences of alternating parallel bars and spaces. Each of the bars and spaces is often referred to as an element. A sequence of one or more contiguous elements makes up an element sequence. An element in a barcode element sequence can encode information by its relative width. Examples of one-dimensional barcodes that are known in the art include Code128, UPC, I2of5, Codabar, Pharmacode, Code39, and DataBar symbology types.
Optical codes can also encode information in two dimensions. A two-dimensional symbol can include a spatial array of modules or dots. Information is encoded in a two-dimensional symbol according to whether the modules are “on” or “off”, or whether dots are present or absent. Examples of two-dimensional symbols that are known in the art include DataMatrix, QR Code, PDF417, and Maxicode symbology types.
Typically, symbols are created by printing (e.g., with ink) or marking (e.g., by etching) bar elements or modules upon a uniform reflectance substrate (e.g. paper or metal). On a paper substrate, the printed elements and modules typically have a lower reflectance than the substrate, and therefore appear darker than the unprinted spaces or modules between them (e.g., as when a symbol is printed on white paper using black ink). Symbols can also be printed in other manners, such as when a symbol is printed on a black object using white paint. To differentiate a symbol more readily from the background, it is typically placed relatively distant from other printing or visible structures. Such distance creates a space, often referred to as a quiet zone. For a linear barcode symbol, this quite zone is typically both prior to the first bar and after the last bar. For a two-dimensional symbol, this quite zone is typically on all sides of the symbol. Alternatively, the spaces or “off” modules, and quiet zones can be printed or marked, and the bars or “on” modules are implicitly formed by the substrate.
The information encoded in a symbol can be decoded using optical readers in fixed-mount installations or in portable hand-held devices. For example, in the case of a fixed-mount installation, a transfer line moves objects marked with symbols in the range of a fixed-mount reader, which can generate images of the symbols. Image-based reader devices typically include at least one sensor capable of generating two-dimensional images of a field of view (FOV). For example, many systems currently employ a two-dimensional charge-coupled device (CCD) image sensor, which acquires images that are then received by a processor. The processor is programmed to examine image data to identify symbol candidates and to decode those symbol candidates. Reader devices can be programmed to obtain images of a field-of-view (FOV) in rapid succession and to decode any obtained symbol candidates as quickly as possible. The processor runs one or more decode algorithms to decode the code candidates.
Barcode readers generally fall into two categories: laser scanners or image-based readers. Image based readers are rapidly replacing scanners in a wide range of industries. Image-based methods for locating and decoding symbol candidates are well known in the art. Examples of image-based decoding algorithms include: U.S. Pat. No. 9,607,200, entitled “Decoding barcodes”, U.S. Pat. No. 9,589,199, entitled “Methods and apparatus for one-dimensional signal extraction”, U.S. Pat. No. 9,361,499 “Barcode decoding”, and U.S. Pat. No. 9,218,536 “Methods and apparatus for one-dimensional signal extraction”, which are hereby incorporated by reference herein in their entirety.
When acquiring an image of a symbol, the quality of the image depends on several factors, for example, the angle of the reader with respect to a surface on which the symbol is applied, the material and texture of the surface on which the symbol is applied, the symbol marking quality or any damage occurring after marking, the characteristics (e.g. intensity, wavelengths, direction, etc.) of ambient and any reading device lighting, any distortion in the applied symbol, the speed the symbol is traveling with respect to the reader (e.g. on a conveyor belt), the distance of the reader from the surface on which the symbol is applied, any optical blur, the sensor/camera resolution, any sensor noise, any motion blur (as a result of part motion during sensor exposure), etc. Image quality affects the ability of a processor running a specific algorithm to decode a symbol. For example, readers often have difficulty decoding some symbols, such as those with poor illumination and/or features that are difficult to identify or distinguish. For example, image-based symbol readers typically require a limited bit depth (usually 8-bit) image with distinguishable symbol details. However, many images are captured with poor illumination, and the scene may have a high dynamic range (e.g., a very large range of pixel values across the image that cannot be directly captured directly by a sensor having a limited bit-depth image). In such case, one single image (again, typically 8-bits) may not capture all information needed for symbol reading. One example is the Direct Part Marked (DPM) symbol reading on round shiny metal parts. Symbols, such as DataMatrix codes, printed on such samples usually contain both over-exposed and under-exposed regions due to strong specular reflections. Therefore, the symbols maybe partially invisible or have poor visual quality in just a single image. For example, bright areas may get clipped uniformly to the highest pixel value in order to capture the details of the darker areas, or darker areas may be clipped uniformly to the smallest pixel value in order to capture the details of the brighter areas. As another example, for applications such as parcel handling, a tall object (e.g., a box) may be very close to the light on the reader so that it may be oversaturated, and a small object may be too far away from the reader so that it isn't sufficiently illuminated.
In some configurations, such as fixed-mount installations, the optical reader can obtain a large number of images of the same object and applied symbol. For example, multiple 8-bit images can be acquired with different gain or exposures and fused to form a composite image. However, image fusion may require registration, buffering images, and/or significant processing such that the decoding cannot be performed in real time.